package com.ly.wxPay.bean.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 支付-退款表
 *
 * @author luoyun
 * @Date: 2025-11-22
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("wx_refund")
@Schema(description = "支付-退款表")
public class WxRefund implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
	@TableId(type = IdType.ASSIGN_ID)
    @ExcelProperty("主键")
	@Schema(description = "主键")
	private Long id;
    /**
     * 商户订单编号
     */
    @ExcelProperty("商户订单编号")
	@Schema(description = "商户订单编号")
	private String orderNo;
    /**
     * 商户退款单编号
     */
    @ExcelProperty("商户退款单编号")
	@Schema(description = "商户退款单编号")
	private String refundNo;
    /**
     * 支付系统退款单号
     */
    @ExcelProperty("支付系统退款单号")
	@Schema(description = "支付系统退款单号")
	private String refundId;
    /**
     * 原订单金额(分)
     */
    @ExcelProperty("原订单金额(分)")
	@Schema(description = "原订单金额(分)")
	private Integer totalFee;
    /**
     * 退款金额(分)
     */
    @ExcelProperty("退款金额(分)")
	@Schema(description = "退款金额(分)")
	private Integer refund;
    /**
     * 退款原因
     */
    @ExcelProperty("退款原因")
	@Schema(description = "退款原因")
	private String reason;
    /**
     * 退款状态
     */
    @ExcelProperty("退款状态")
	@Schema(description = "退款状态")
	private String refundStatus;
    /**
     * 申请退款返回参数
     */
    @ExcelProperty("申请退款返回参数")
	@Schema(description = "申请退款返回参数")
	private String contentReturn;
    /**
     * 退款结果通知参数
     */
    @ExcelProperty("退款结果通知参数")
	@Schema(description = "退款结果通知参数")
	private String contentNotify;
    /**
     * 创建时间
     */
    @ExcelProperty("创建时间")
	@Schema(description = "创建时间")
	private java.time.LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ExcelProperty("更新时间")
	@Schema(description = "更新时间")
	private java.time.LocalDateTime updateTime;
}
